Computer networks may comprise various end nodes coupled via one or more switches. A switch generally comprises multiple ports and circuitry that receives messages over an input port and forwards such messages out through an output port. As networks grow in complexity and size, switch circuitry also grows in complexity.
A node may comprise a computer having one or more processors that execute one or more applications that perform a variety of functions (e.g., data processing and network management). A node also may have one or more network interface controllers (“NICs”) that provide the node access to the network. Via a NIC, a node can send or receive packets to or from other nodes in the network. In some implementations, a packet may contain “source route” information which generally specifies the output port of source node and various intervening switches that the packet is to follow in order to traverse the network. As such, the source route information provides directions to the network that permit it to deliver the packet from source node to destination node.
Generally, The source route information is sufficient to permit the network to route the packet to the NIC of the destination node. The source route information is however insufficient for choosing a specific target application on the destination node. The logic for generating and consuming source-routed packets at end nodes must therefore reside inside operating system's NIC device driver, rather than inside application code. As such, the management applications are not part of the source routing paradigm which creates inefficiencies in how packets are transferred between management application processes and NIC drivers. Moreover, allowing multiple management applications to share a source routed interconnection network requires additional device driver functionality, which in turn either limits functionality or further increases driver complexity. Any improvements in this area that can make for a more efficiently operated network and/or provide more functionality are desirable.